|
Ray tracing hardware is special purpose computer hardware designed for accelerating ray tracing calculations. ==Introduction: Ray tracing and rasterization== The problem of rendering 3D graphics can be conceptually presented as finding all intersections between a set of "primitives" (typically triangles or polygons) and a set of "rays" (typically one or more per pixel).〔(Introduction to real time raytracing ) Course notes, Course 41 , Philipp Slusallek, Peter Shirley, Bill Mark, Gordon Stoll, Ingo Wald , SIGGRAPH 2005 , (powerpoint presentation), Slide 26 :Comparison Rasterization vs. Ray Tracing (Definitions) ''graphics.cg.uni-saarland.de''〕 Up to 2010 all typical graphic acceleration boards, called graphics processing units (GPUs), use rasterization algorithms. The ray tracing algorithm solves the rendering problem in a different way. In each step, it finds all intersections of a ray with a set of relevant primitives of the scene. Both approaches have their own benefits and drawbacks. Rasterization can be performed using devices based on a stream computing model, one triangle at the time, and access to the complete scene is needed only once.〔For additional visualisations such as shadows, or reflections such as produced by a large flat body of water an addition pass of the scene graph is required for each effect〕 The drawback of rasterization is that non-local effects, required for an accurate simulation of a scene, such as reflections and shadows are difficult; and refractions〔(Chris Wyman's Research: Interactive Refractions ) Department of Computer Science at The University of Iowa , ''www.cs.uiowa.edu''〕 nearly impossible to compute. The ray tracing algorithm is inherently suitable for scaling by parallelization of individual ray renders.〔SaarCOR —A Hardware Architecture for Ray Tracing, Jörg Schmittler, Ingo Wald, Philipp Slusallek, Section 2, "Previous work"〕 However anything other than ray casting requires recursion of the ray tracing algorithm (and random access to the scene graph) to complete their analysis,〔SaarCOR —A Hardware Architecture for Ray Tracing, Jörg Schmittler, Ingo Wald, Philipp Slusallek, Section 3, "The Ray Tracing Algorithm"〕 since reflected, refracted, and scattered rays require that various parts of the scene be re-accessed in a way not easily predicted. But it can easily compute various kinds of physically correct effects, providing much more realistic impression than rasterization.〔Rasterisation methods are capable of generating realistic shadows (including shadows produced by partially transparent objects), and plane reflections easily (as of 2010), but does not easily implement reflections from non planar surfaces (excluding approximations using normal maps) or refractions.〕 The complexity of a well implemented ray tracing algorithm scales logarithmically;〔That is if X is the number of triangles, then the number of computations to complete the scene is proportional to log(X)〕 this is due to objects (triangles and collections of triangles) being placed into BSP trees or similar structures, and only being analyzed if a ray intersects with the bounding volume of the binary space partition.〔(Ray Tracing and Gaming - One Year Later ) Daniel Pohl , 17/1/2008 , via "PCperspective" , ''www.pcper.com''〕〔The same methods can be used in rasterization, in a simplistic implemention culling is limited to those BSP partitions that lie within the much larger viewing frustum ( more advanced implementations including those that implement occlusion culling or predicated rendering scale better than linearly for complex (especially high occluded) scenes (Note in common API's : DirectX 10 ''D3D10_QUERY_OCCLUSION_PREDICATE'' () , in OpenGL 3.0 ''HP_occlusion_query'' ). With ray tracing the viewing frustum is replaced by the volume enclosed by a single ray (or ray bundle)〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ray tracing hardware」の詳細全文を読む スポンサード リンク
|